In a complex system combining a considerable number of various hardware, software and firmware, its reliability assurance is usually based on stability of a hardware platform. For example, for a complex storage system, its reliability assurance may involve the following aspects of the hardware platform such as a fault tolerance system (e.g., by redundancy), system diagnostic design, field failure monitoring and corrective actions, predictive and preventive maintenance, or other mechanisms for implementing system reliability.
However, in current actual applications, although the hardware platform has developed various methods for assuring reliability of a complex system, such methods are rather complex and independent of respective modules in the complex system. For example, for each hardware fault, the hardware platform has a unique detecting and processing method. Software of the hardware platform usually cannot reuse some generic solutions. Therefore, the hardware platform has poor scalability and serviceability for the complex system.